/**
 *
 * 它是一个长期存储得解决方法，因为放在state中的数据在刷新时会丢失，
 * 这时候使用这个plugin.js插件它会帮你存储起来。
 *
 * @param {*} store
 *
 */
const plugin = store => {
    //   const arr = Object.keys(store.state)
    //   const obj = {}

    //   arr.forEach(item => {
    //     if (window.sessionStorage.getItem(item)) {
    //       obj[item] = JSON.parse(window.sessionStorage.getItem(item))
    //       store.replaceState(obj)
    //     }
    //   })

    /**
       * 订阅观察 store变化
       */
    // 当 store 初始化后调用
    store.subscribe((mutation, state) => {
    // 每次 mutation 之后调用
    // mutation 的格式为 { type, payload }
        const { type, payload } = mutation
        console.log('type==================TODO业务处理TODO=============')
        console.log(type) //
        console.log('payload===========================================')
        console.log(payload) //
        console.log('state====================Begin=======================')
        console.log(state.menu.length)
        console.log(JSON.stringify(state))
        console.log('state====================End=======================')
    })
}

export default plugin
